Binary code compatibility

In computing, a computer that can run the same binary code intended to be run on another computer is said to be binary-compatible. This differs from source code compatibility, where recompilation may be necessary.

Binary-compatibility is a major benefit when developing computer programs that are to be run on multiple operating systems. Several Unix-based operating systems, such as FreeBSD or NetBSD, offer binary compatibility with more popular operating systems, such as Linux-derived ones, since most binary executables are not commonly distributed for such operating systems. The same applies to Microsoft Windows; most binaries that are compiled for Windows 2000 can also be run on Windows XP and Windows Vista.

Binary compatible operating systems

Binary compatible operating systems are operating systems who aim to implement binary compatibility with another operating system. For example, the ReactOS operating system development effort seeks to create an open source, free software operating system that is binary compatible with Microsoft's Windows NT family of operating systems. FreeBSD and other members of the BSD family have binary compatibility with the Linux kernel in usermode by translating Linux system calls into BSD ones. This enables the libraries and application code that run on Linux-based operating systems to be run on BSD as well.

Note that a binary compatible operating system is different from an operating system that provides a means of virtualization to enable other software to run. For example, Mac OS X on the PowerPC had the ability to run MacOS 9 and earlier application software through Classic—but this did not make OS X a binary compatible operating system with MacOS 9. Instead, the Classic environment was actually running MacOS 9 in a virtual machine, running as a normal process inside of the OS X operating system. Windows 7 has Windows XP Mode which serves a similar purpose, allowing users to run a 64-bit version of Windows 7 and have very old software still work in a 32-bit virtual machine running Windows XP.

See also

External links